package main

import (
	"fmt"
	"path"
	"runtime"

	"code.oldboyedu.com/studygo/day06/mylogger"
)

func f1() {
	//pc 调用函数相关信息
	//file   文件名，调用函数的是谁
	//line  行号
	//ok,如果能取到，就是true
	pc, file, line, ok := runtime.Caller(2)
	if !ok {
		fmt.Println("runtime.Caller() failed")
		return
	}
	fmt.Println(pc)
	funcName := runtime.FuncForPC(pc).Name()
	fmt.Println(funcName)
	fmt.Println(file) //06runtime_demo  main.go
	fmt.Println(path.Base(file))
	fmt.Println(line)
}

func f2() {
	var lv mylogger.ConsoleLogger
	lv.Level = mylogger.INFO
	if !lv.Enable(mylogger.DEBUG) {
		f1()
	}

}

func main() {
	f2()
}
